#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    // a.setStyle("Fusion");
    MainWindow w;
    w.show();
    return a.exec();
}


// #include <QApplication>
// #include <QComboBox>
// #include <QProxyStyle>
// #include <QStylePainter>
// #include <QStyleOption>
// #include <QMouseEvent>
// #include <QDebug>
// #include <QApplication>
// #include <QComboBox>
// #include <QProxyStyle>
// #include <QStylePainter>
// #include <QStyleOption>
// #include <QMouseEvent>
// #include <QDebug>

// class CustomComboBoxStyle : public QProxyStyle {
// public:
//     void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const override {
//         if (control == CC_ComboBox) {
//             QStyleOptionComplex opt = *option;
//             // 先绘制 ComboBox 框架和编辑区域
//             QProxyStyle::drawComplexControl(control, &opt, painter, widget);

//             // 获取箭头的矩形区域
//             QRect arrowRect = subControlRect(control, option, SC_ComboBoxArrow, widget);

//             // 绘制向上的箭头
//             painter->save();
//             painter->setRenderHint(QPainter::Antialiasing);
//             QPolygon arrow;
//             arrow << QPoint(arrowRect.left() + arrowRect.width() / 2, arrowRect.top() + 3)
//                   << QPoint(arrowRect.right() - 3, arrowRect.bottom() - 3)
//                   << QPoint(arrowRect.left() + 3, arrowRect.bottom() - 3);
//             painter->setBrush(option->palette.color(QPalette::ButtonText));
//             painter->drawPolygon(arrow);
//             painter->restore();
//         } else {
//             QProxyStyle::drawComplexControl(control, option, painter, widget);
//         }
//     }

//     QRect subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget = nullptr) const override {
//         if (control == CC_ComboBox && subControl == SC_ComboBoxListBoxPopup) {
//             // 获取箭头的矩形区域
//             QRect arrowRect = QProxyStyle::subControlRect(control, option, SC_ComboBoxArrow, widget);
//             // 获取默认的下拉列表矩形区域
//             QRect defaultRect = QProxyStyle::subControlRect(control, option, subControl, widget);
//             // 计算向上弹出的矩形区域，从箭头下边界开始
//             int top = arrowRect.top() - defaultRect.height();
//             return QRect(option->rect.left(), top, defaultRect.width(), defaultRect.height());
//         }
//         return QProxyStyle::subControlRect(control, option, subControl, widget);
//     }
// };

// int main(int argc, char *argv[]) {
//     QApplication a(argc, argv);

//     CustomComboBoxStyle customStyle;
//     QComboBox comboBox;
//     comboBox.addItem("Option 1");
//     comboBox.addItem("Option 2");
//     comboBox.setStyle(&customStyle);
//     comboBox.show();

//     return a.exec();
// }
